/*
 * 
 *方法的整理与重构
 *
 *
 */

//定义app参数名称，并加载其它模块
var authApp=angular.module('authapp', ["ngCookies",'ngFileUpload','ui.bootstrap']);

//此为定位页面所用
authApp.value('page','experts-list');

/*controller部分*/


//定义父controller，主要用于controller之间传递信息
authApp.controller("fcontroller",function($scope,$http){
	//
	//****与分页相关的****
	//
	
	//从接口中获取总的分页数量
	$scope.$on('$getPageCountFromApi',function(event,data){
		$scope.$broadcast('$getPageCount',data);
	});
	
	//捕获分页点击事件并传递currentPage信息到主controller
	 $scope.$on('$pageAction',function(event,data){
		 $scope.$broadcast('$pageChanged',data);
	 });
})


//主要操作controller
authApp.controller("expertsListController",function($scope,$http,$getQueryString,$location,$splice){
	//针对此页面需要的参数 should edit
	$scope.isAddM=true;
	$scope.expertPid=$getQueryString("pid");
	
	//**********主体方法
	//设置分页初始参数（最好与$scope.currentPage和$scope.itemsPerPage一致！！！！//这边之所以$scope.pageNumber=0是因为后台接口第一页为0）
	$scope.ifFirstTimeQuery=true;
	$scope.pageNumber=0;
	$scope.pageSize=10;
	var queryMainApi=apis.queryAuthExportGroupMapPage;//！！！should edit
	$scope.queryMain=function(){
		$http({
			method:'post',
			url:queryMainApi,
			data:{'pageNumber':$scope.pageNumber,'pageSize':$scope.pageSize,'groupId':$scope.expertPid},
		}).success(function(response){
			if(response.code=="000000"){
				$scope.queryMainApiCallBack(response);
				//将返回的pagecount和current传到上面的controller
				$scope.$emit('$getPageCountFromApi',response.data);
			}else{
				alert(response.errorMsg);
			}
		}).error(function(){
			alert("网络出现故障，请确认网络是否连接");
		})
	}
	//捕捉分页点击事件并做处理
	$scope.$on("$pageChanged",function(event,data){
		if(!$scope.ifFirstTimeQuery){//解决第一次会调用两次接口的问题
			$scope.pageNumber=data.currentPage-1;//这边之所以-1是因为后台接口第一页为0
			$scope.queryMain();
		}
		$scope.ifFirstTimeQuery=false;//改变是否是第一次调用接口的状态
	})
	$scope.queryMain();
	
	/*下面为自已编辑部分*/
	
	//调用主接口成功之后的处理方法
	$scope.queryMainApiCallBack=function(response){
		$scope.list=response.data.data;
        $scope.totalCount = response.data.recordCount;
        $scope.pageSize = response.data.pageSize;
		angular.forEach($scope.list,function(data,index,array){
			if(data.identitys=="0"){
				data.identitysName="组员";
			}else if(data.identitys=="1"){
				data.identitysName="副组长";
			}else if(data.identitys=="2"){
				data.identitysName="组长";
			}else if(data.identitys=="3"){
				data.identitysName="联络员";
			}
		})
	}	
	/*
	 * 
	 * 其它操作方法
	 * 
	 */
	//将数据用","拼接起来
	var selStr = ""; // 原来存放选中的项
	$scope.check = function(id,x){			
		if(x == true){     // 选中
			selStr=selStr+id+',';
		}else{
		    selStr=selStr.replace(id+',',''); // 取消选中
		}	    
	    $scope.conStr = selStr; // 页面所选请求ID
	};

	
	//查询未绑定现场考察专家组的所有专家
	$scope.getExpertList=function(){		
		$http({
			method:'post',
			url:apis.queryUnAuthExpertList,
			data:{}
		}).success(function(response){
			if(response.code=="000000"){
				$scope.expertList=response.data;
				$scope.Selected = false;//默认未选中
			}else{
				alert(response.errorMsg);
			}
		}).error(function(){
			alert("服务器打瞌睡了，请稍等！");
		})
	}
	
	//设置现场考察专家组 组员身份
	$scope.setAuthExport=function(pid,ident){
		if(window.confirm("是否确定修改专家身份？")){
			var rJson={'pid':pid,'identity':ident};
			$http({
				method:'get',
				url:apis.setAuthExportIdentity,
				params:rJson,
			}).success(function(response){
				if(response.code=="000000"){
					$scope.queryMain();
				}else{
					alert(response.errorMsg);
				}
			})
		}
	}
	
	$scope.turnTo=function(expertId){
		location.href="opinion_list.html?expertId="+expertId+"&pid="+$scope.expertPid;
	}
	
})

//分页controller
authApp.controller('pageDemo',function($scope){
	//定义分页的初始参数（不改动，不会影响功能）
	$scope.currentPage=1;
	$scope.itemsPerPage=10;
	$scope.maxSize = 8;
	//需要接口返回的一些参数，如pagecount
	$scope.$on('$getPageCount',function(event,data){
        $scope.totalItems = parseInt(data.recordCount);
        $scope.bigTotalItems =parseInt(data.recordCount);      
	});
	//分页点击的触发事件
	 $scope.$watch('currentPage', function() {
		 var pagedata={currentPage:$scope.currentPage};
		 $scope.$emit('$pageAction',pagedata);
	  });
})
